home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ian & Stuart's Australian Mac: Not for Sale
/
Another.not.for.sale (Australia).iso
/
hold me in your arms
/
Virtual-Worlds
/
commercial
/
Genesis-WTK
< prev
next >
Wrap
Internet Message Format
|
1994-03-24
|
10KB
From john@presence.demon.co.uk Fri Mar 25 07:38:55 PST 1994
Article: 11280 of sci.virtual-worlds
Path: news.u.washington.edu!scivw
From: John Hough <john@presence.demon.co.uk>
Newsgroups: sci.virtual-worlds
Subject: NEW-PROD: Prototype Tool for WorldToolKit
Date: 23 Mar 1994 15:53:54 GMT
Organization: Virtual Presence
Lines: 291
Approved: scivw@u.washington.edu
Distribution: world
Message-ID: <2mpomi$ll5@news.u.washington.edu>
Reply-To: john@presence.demon.co.uk
NNTP-Posting-Host: stein.u.washington.edu
Originator: scivw@stein2.u.washington.edu
****************************************************************
* *
* *
* Virtual Presence Ltd Presents : *
* *
* *
* GENESIS World Builder *
* *
* *
* Interactive Environment Prototyping For WorldToolKit *
* *
* *
****************************************************************
**
** Realtime manipulation of Objects, Polygons, Lights, Sensors,
** Paths and much more.
**
** Available now on all platforms supported by Sense8's WorldToolKit.
**
**
** Menu driven user interface.
**
**
** Sophisticated environment loading and saving.
**
**
** Full environment import for WorldToolKit applications.
**
Interactive Environment Prototyping from Virtual Presence
If you're planning to develop VR software using the power and flexibility
of WorldToolKit, then you'll be pleased to hear that WTK now has a
'friendly front end'. Genesis allows you to create and then integrate
sophisticated virtual environments into your WTK applications.
This reduces development time and allows effort to be cut by up to 80%.
Genesis is an interactive prototyping tool. It gives you precise control
over the labour intensive, and often complex, tasks involved in building
virtual worlds. Environments can be easily saved, allowing you to either
continue working at a later date, or import them into your WTK applications.
Environments
Genesis is unique: it allows the user to create and save virtual
environments. The editor's own file format, '.gen', contains all the
information required to reconstruct it. For example, if an environment
is saved whilst a path is playing with constraints turned on, it will be
reloaded with the path playing just as it was when saved.
The environment can be saved at any time during the development process.
Several '.gen' files can be merged together; for example, it is possible
to overlay a previously created lighting model on top of the environment
being constructed.
Sensors
Genesis supports the full range of sensor drivers provided by WTK. These
can either be used for manipulating the viewpoint or graphical entities
within the Genesis editor. Objects and icons can be selected using a mouse,
allowing them to be manipulated using a specified sensor. Sensor sensitivity
can be rescaled and constrained.
Graphical objects
Genesis allows both the importation of 3D objects (file formats supported
include .dxf, .nff, .obj, .3ds and more) and the creation of new primitive
objects. There is full support for the standard WTK attribute functions,
which allow the user to interactively control an object's colour, texture,
scale, position and orientation. The editor also provides advanced functins
such as merging graphical objects together and interactively setting
pivot points and local axes, and building complex hierarchies. Selective
copying allows the user to create reduced level-of-detail and trimesh
models. Manipulation of objects may be done with a standard sensor;
alternatively users may specify a translation or rotational constant to
be applied in X,Y or Z co-ordinates in any WTK Frame.
Polygons
Individual polygon and group selection is supported by Genesis allowing
complete control over specific polygon attributes. Polygon colour and
textures can be interactively controlled via the editor. Advanced features
such as individual polygon deletion from objects, flat/gouraud shading,
single/double sided and inside out may also be applied to single or
grouped polygons, giving the developer a high degree of control over
imported geometry.
Lights
The Genesis editor provides the developer full control over the lighting
of their virtual environment. The number, intensity, position and
orientation of WTK lights can be manipulated in real time from within
Genesis. Lights are represented as icons and can be selected and
manipulated in the same way as other genesis objects and icons.
Pathing
Genesis supports the complete WTK path functionality. Multiple paths can be
created and manipulated. Path nodes are represented as node icons and their
position and orientation can be adjusted in the same way as graphical
objects. All the WTK supported forms of interpolation between node points
are provided, along with extensive node editing and path play facilities.
These include control over the visibility of the path, play direction
and speed, plus sequential stepping through the path nodes.
Viewpoints
Genesis gives the user access to all the WTK supported rendering modes
such as wireframe, gouraud shading and texture options. The viewpoint can
be manipulated via any of the available sensor drivers, and the viewing
angle and aspect ratio altered from within the editor. Selected objects
can be 'zoomed' into view and the interface also includes a 'zoomall'
function. Viewpoint constraints are also supported.
Information
Genesis provides extensive information and environment data. Details of all
entities supported by Genesis are available from within the editor. For
example, information on the extents, filename, number of polygons and
vertices, position and orientation of a graphical object are all easily
obtained from the Genesis help systems.
Application interfacing
To create an application which integrates an environment built using
Genesis, simply compile the GENiface library with the application code and
call the function GENiface_load.
Example code illustrating the use of the Genesis interface calls:
/* Standard WTK header files */
#include "wt.h"
#include "geniface.h"
int main()
{
WTobject *object;
/* Intialise universe */
WTuniverse_new(WTDISPLAY_DEFAULT,
WTWINDOW_DEFAULT);
/* load test universe */
GENiface_load("uni2.gen", TRUE);
/* display helpfull information */
GENiface_printnames();
/* simple example of finding an object */
object = GENiface_getobject("meguro");
/*more complex example */
WTviewpoint_addsensor(WTuniverse_getviewpoint(),
GENiface_getsensor("spaceball1");
/* Start universe */
WTuniverse_go();
/* Exit WTK */
WTuniverse_delete();
return 0;
}
Pointers are available to all entities within the environment via the
object's name defined within Genesis. The GENiface library provides the
user with many useful routines for controlling the entities loaded via
the Genesis interface.
Example enviroment file created by Genesis:
Genesis Version 2.01;
// ENVIRONMENT;
enviro bgcolour 0x000;
enviro vposition -97.381714 -22.039515 -48.751019;
enviro vorientation -0.061032 0.196205 0.122790 0.970928;
// SENSORS;
sensor new mouse1 mvm;
sensor sensitivity mouse1 26.352421;
sensor angularrate mouse1 0.400000;
sensor constrain mouse1 off;
sensor new spaceball1 s1vm;
sensor sensitivity spaceball1 26.352421;
sensor angularrate spaceball1 0.400000;
sensor constrain spaceball1 xtrans ytrans zrot
// OBJECTS;
object load rightarm righta.nff 1.000000;
object position rightarm -189.220718 -26.715002 295.885590;
object orientation rightarm 0.026833 0.516167 0.128153 0.846421;
object pivot rightarm -189.220718 -26.715002 295.885590;
object shading rightarm on;
object visibility rightarm on;
object load righthand righth.nff 1.000000;
object position righthand -253.929398 13.254949 183.522705;
object orientation righthand 0.038822 0.495906 0.100072 0.861717;
object pivot righthand -253.929398 13.254949 183.522705;
object shading righthand on;
object visibility righthand on;
// HIERARCHYS;
object attach rightarm righthand;
// LIGHTS;
light ambient 0.200000;
light new light1 0.900000 8.185075;
light position light1 -150.639282 -22.241173 -66.450226;
light direction light1 0.000000 0.000000 1.000000;
// PATHS;
path load path1 path1.pth node.nff f00 0.536656;
path visibility path1 on;
path direction path1 forwards;
path mode path1 toend;
path constraints path1 off;
path speed path1 1;
path play path1 off;
end;
// Simple text format allows enviroment files to be viewed
and edited by hand.
The Future
Genesis was originally developed by Virtual Presence Ltd as an in-house
tool for prototyping client applications. Drawing on over three years'
experience working with WTK, it embraces the functionality required to
prepare virtual environments in minimum time - leaving the developer free
to spend more time on internal simulation functionality. For users whose
requirement is for visualisation only, it completely removes the need for
programming skills to produce finished walk- and fly-thoughs
Representing more than two man years' development time Genesis will be
expanded and updated in response to user feedback.
For further information and pricing on Genesis please contact
Virtual Presence at:
Virtual Presence Ltd.
25 Corsham St.
London.
N1 6DR.
Tel: +44 (0)71 253 9699
Fax: +44 (0)71 490 8968
e-mail: genesis@presence.demon.co.uk
John Hough CEO
Virtual Presence Ltd
25 Corsham Street
London N1 6DR UK
Tel: +44 (0)71-253-9699
Fax: +44 (0)71-490-8968
e-mail john@presence.demon.co.uk
'Virtually all ther...'
[MODERATOR'S NOTE: Commercial postings are offered on this newsgroup
as a public service. Their appearance here does not indicate
endorsement by the moderators or by the USENET or its administrators.]